#nullable enable

using System;
using System.Threading.Tasks;
using PHMEE.Entities.Diagnosis;

namespace PHMEE.IRepositories.Diagnosis;

/// <summary>
/// 波形数据报警 TDengine 仓储接口
/// </summary>
public interface IWaveDataAlarmTDRepository
{
    /// <summary>
    /// 获取原始波形数据
    /// </summary>
    /// <param name="pointId"></param>
    /// <param name="timeStamp"></param>
    /// <returns></returns>
    Task<float[]> GetAsync(Guid pointId, DateTime timeStamp);

    /// <summary>
    /// 获取特征值和阈值
    /// </summary>
    /// <param name="pointId"></param>
    /// <param name="timeStamp"></param>
    /// <returns></returns>
    Task<WaveDataAlarmEigenValue?> GetFeatureValuesAsync(Guid pointId, DateTime timeStamp);
}